新手问个小问题>1

来源:百度知道 编辑:UC知道 时间:2024/05/29 10:15:45
我是一个新手,学C才一周,问个小问题,

在调用MAX函数时,那个东西有没有要求只能2个数比大小。

如:d=max(a,b,c);能这样用吗

下面是我刚做的,他的运行结果只能比较出前2个数的大小。
#include<stdio.h>
void main()
{
int max(int x,int y);
int a,b,c,d,e,f,g,h;
scanf("%d,%d,%d,%d,%d,%d",&a,&b,&c,&d,&e,&f,&g);
h=max(a,b,c,d,e,f,g);
printf("max=%d\n",h);

}
int max (int x,int y)
{int z;
if(x>y) z=x;
else z=y;
return (z);
}

如果只能求2个数的大小,那怎么改才能比较更多数的大小。

小弟谢了。

你这里写了{h=max(a,b,c,d,e,f,g); };六个变量:
而这里只写了[ int max (int x,int y)
{int z;
if(x>y) z=x;
else z=y;
return (z); ]两个变量
当然不行啦
你应该同样写六个
就是 int max(int x,int y,ing z,int a,int b,int c)
if(......)
这种只能拿来比较六个数的大小!
不过如果真要比较六个数的话!不应该用这种方法!
太麻烦了!比较三个和两个还可以!
不然就是浪费内存空间!

三个的情况:
int max (int x,int y,int z)
{int t;
if(x>y)
{if(z>x)
{t=z;}
else t =x;}
else if(y>z)
t=y;
else t=z;
return (t);
}
依次类推

如果是自己经常用的函数,你可以自己写一些宏留着,要用调用自己的头文件加载,不也一样嘛...

max 不过是个函数名。
具体的功能还要看函数体